Broadcast Remote Control

ABSTRACT

Identifying user behaviors via remote control signal broadcasts may be provided. A content element such as a video may be displayed on a display device. During display of the content, a control signal may be received and deciphered. The deciphered control signal may be used to determine whether the content is being consumed by a user, and this determination may be logged and/or reported to the content provider.

BACKGROUND

Broadcast remote control is a process for collecting user behaviorinformation. In some situations, a television service provider candetermine that a particular channel is being consumed by a televisionbut not whether a user is actually watching the channel programming. Forexample, the television may have been left on while the user was out ofthe room or the programming may have been muted. This causes problemsfor the provider as advertisers are seeking greater informationregarding whether users are actually viewing commercials placed in aprogramming stream.

SUMMARY

Consistent with embodiments of the present invention, systems andmethods are disclosed for remote control broadcast detection.Identifying user behaviors via remote control signal broadcasts may beprovided. A content element such as a video may be displayed on adisplay device. During display of the content, a control signal may bereceived and deciphered. The deciphered control signal may be used todetermine whether the content is being consumed by a user, and thisdetermination may be logged and/or reported to the content provider.

It is to be understood that both the foregoing general description andthe following detailed description are examples and explanatory only,and should not be considered to restrict the invention's scope, asdescribed and claimed. Further, features and/or variations may beprovided in addition to those set forth herein. For example, embodimentsof the invention may be directed to various feature combinations andsub-combinations described in the detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a customer premises architecture;

FIG. 2 is a Sequence-Interaction diagram;

FIG. 3 is a flow chart showing an illustrative routine for providingside loading;

FIG. 4 is a block diagram of a cable television system; and

FIG. 5 is a block diagram of a computing device.

DETAILED DESCRIPTION

Embodiments of the present invention provide for methods and systems foridentifying user behaviors via remote control signal broadcasts. Remotecontrol devices associated with various video system components such ascable boxes, televisions, video recorders, etc., broadcast their controlsignals within the viewing environment. Devices other than the intendeddevice may receive these control signals and may infer activity on thepart of the user. For example, a “volume up” control signal intended fora receiver may be detected by a set-top box (STB). The receipt of thesecontrol signals may be used to determine the presence of a viewer and/orwhat activities the user is engaged in. For example, reporting data froma STB may report that a tuner was on a particular channel and that aviewer was actually present at the times that remote control signals arereceived. Further, the actual remote control codes may be deciphered toindicate the actual activity. For example, a remote control signalcomprising code 1122345 may be received and deciphered as a volume upcontrol request for a Sony® television. The deciphered activity may alsobe used to determine that a video content element was not beingconsumed. For example, it may be detected that the user was engaged withhis/her game console; while the STB tuner was set to a given channel,the user was actually not watching the content of the channel to whichthe STB was tuned.

The user activity may also be used to determine how multimedia contentfrom a cable operator's network is being consumed. For example, theactivity may be used to determine what type of viewing device a useruses to view content, whether the user is using a stereo or surroundsound system for audio consumption, and/or what other activities theuser (or household) engages in (e.g., DVD viewing, gaming) and whenthese activities occur. For another example, consumption of acompetitor's content stream may be detected (e.g., use of a networkbased movie delivery system rather than the cable operator's on demandand/or pay per view services). This detection may be used to determinethat the user may not be watching the content of the channel to whichthe STB is tuned and the identification of this user behavior maytrigger business logic for providing marketing information relating tothe cable provider's own services.

The activity may also be used to determine when shared resources are nolonger being consumed by the user and may be released for otherusers/applications. For example, a home may have a video tuner bank thatis shared across multiple tuner-less STBs in the home. In such a case,there may be more STBs or possible recording sessions than tunersavailable (oversubscription). Sensing of remote control activity may beused to determine if a tuner's state is stale. That is, if no useractivity (direct tuner or indirect remote control) is detected for morethan a configurable time threshold (e.g., 60 minutes), a resourcecontrol application may infer that no one is actually viewing thecontent from the tuner and release the resource to be used by anotherdevice or application. According to an embodiment, upon detection ofinactivity, a message may be displayed asking for user verification. Ifverified by lack of acknowledgement by a user, the resource may bereleased.

In describing embodiments herein, a cable television services systemwill often be used as an example. However, those skilled in the art willrecognize that embodiments of the invention are not meant to be limitedto cable television systems, but may include other types of videodelivery networks. For example, fiber and/or satellite based contentdelivery systems may also be used with embodiments of the invention.

These embodiments may be combined, other embodiments may be utilized,and structural changes may be made without departing from the spirit orscope of the present invention. The following detailed description istherefore not to be taken in a limiting sense, and the scope of thepresent invention is defined by the appended claims and theirequivalents. Referring now to the drawings, in which like numerals referto like elements throughout the several figures, embodiments of thepresent invention and an exemplary operating environment will bedescribed.

FIG. 1 is simplified block diagram illustrating an operating environment100 for identifying user behaviors via remote control signal broadcasts.Operating environment 100 may comprise a video display 110, such as atelevision, a video projector, and/or a computer display. Video display110 may be coupled to a plurality of components such as a set-top box(STB) 120 for receiving and/or decoding cable television signals, adigital video recorder (DVR) 130, a DVD player 140, a sound receiver 150such as a stereo and/or surround sound system coupled to a plurality ofspeakers 155, and a game console 160. STB 120 may comprise a tuner bank125 that may comprise a plurality of video signal tuners, each operativeto decode an encoded video signal received from a content provider.According to embodiments, receiver 150 may be a multi-wavelengthreceiver, a multi-frequency receiver, a multi-protocol IR receiver, amulti-protocol decoder, or a USB or WiFi radio receiver. Each of theplurality of components may be operative to provide audio and/or videosignals to video display 110. Operating environment 100 may furthercomprise at least one remote control 170 operative to broadcast acontrol signal 175 to at least one of the plurality of components. Eachcomponent may be associated with a different remote control (not shown)and/or remote control 170 may be operative to broadcast control signalsassociated with any and/or all of the components. For example, a gamecontroller associated with game console 160 may be operative tobroadcast control signals for playing a game and adjusting the volumeoutput of receiver 150. Similarly, a universal remote control may beprogrammed to control playback of a disc associated with DVD player 140and to control channel changes associated with STB 120. Control signal175 may comprise, for example, a wireless network signal, a Bluetoothsignal, an infrared (IR) signal, and/or a radio frequency (RF) signal.

The protocols used to transmit control signal 175 from remote control170 to a component may vary by vendor (e.g., Sony, Panasonic, Motorola,etc.). IR receivers may typical work in two frequency bands while RFreceivers may be programmed to operate in a single band. Bluetooth usesa radio technology called frequency-hopping spread spectrum, whichdivides the data being sent and transmits chunks of it on up to 79frequencies. A receiving component (e.g., STB 120) may sample theincoming signals and may use a pattern matching algorithm to determinethe protocol so the codes can be extracted. A data table comprisingknown vendor codes may be stored in a memory storage associated with thereceiving component.

FIG. 2 is a timing diagram of a user 210 interaction with components ofoperating environment 100 such as STB 120, receiver 150, and display110. At stage 220, user 210 may select an element of video content toview, such as by tuning to a cable channel via STB 120. STB 120 may thentune to the selected channel and output the video to display 110 atstage 230. Display 110 may output the video to a screen for consumptionby user 210 at stage 240 and/or receiver 150 may begin to outputassociated audio for consumption by user 210 at stage 250. At stage 260,the tuned cable channel may begin to display a second portion of thevideo content, such as an advertisement spliced into the video streamusing digital program insertion. During the time period in which thesecond portion of the video content is displayed on display 110, user210 may use a remote control to send a signal to one of the componentsat stage 270, such as a volume change request to receiver 150. Thevolume change request may comprise broadcast control signal 175 and maybe detected by STB 120 at stage 275. STB 120 may decipher control signal175 as a volume change request for receiver 150 and may store the eventand the time associated with the volume change request in a memoryassociated with STB 120. Some time after the volume change request isreceived in stage 270, STB 120 may determine, at stage 280 that no inputhas been received from user 210 for a time greater than a threshold time(e.g., 60 minutes) and STB 120 may cease outputting the video content todisplay 110.

FIG. 3 is a flow chart of a method 300 for identifying user behaviorfrom remote control broadcasts. Method 300 may be implemented using acomputing device 500 as described in more detail below with respect toFIG. 5. Ways to implement the stages of method 300 will be described ingreater detail below. Method 300 may begin at starting block 305 andproceed to stage 310 where computing device 500 receive a contentselection. For example, STB 120 may receive a request from remotecontrol 170 to tune to a selected program channel.

Method 300 may then advance to stage 315 where computing device 500 maydisplay the selected content. For example, STB 120 may output theselected program channel to display 110. STB 120 may also be operativeto output audio associated with the selected content to speakers 155 viareceiver 150.

From stage 315, method 300 may advance to stage 320 where computingdevice 500 may receive a control signal. For example, STB 120 mayreceive a channel change request, DVR 130 may receive a pause and/orrecord request, and/or receiver 150 may receive a mute and/or volumechange request via control signal 175 from remote control 170.Components for which the signal is not intended may be able to receivethe broadcast of control signal 175, such as via IR, RF, or Bluetooth.For example, STB 120 may receive a channel change request broadcast byremote control 170 and intended for receiver 150.

Method 300 may then advance to stage 325 where computing device 500 mayidentify the intended component. For example, STB 120 may decipher acode associated with control signal 175 indicating that receiver 150 isthe intended recipient of control signal 175. Consistent withembodiments of the invention, STB 120 may be further operable todecipher the signal to determine a brand and/or model associated withreceiver 150. If STB 120 is unable and/or not configured to deciphercontrol signal 175, the code may be transmitted to a central data storefor later deciphering and/or analysis. STB 120 may buffer a plurality ofdetected unknown control signals and transmit them in periodic batchesfor analysis.

From stage 325, method 300 may advance to stage 330 where computingdevice 500 may identify a requested action associated with the receivedsignal. For example, computing device 500 may be operable to decode themessages that are being transmitted. From those messages, computingdevice 500 may discern, based on an understanding of what the codes areand what message is being sent, that control signal 175 comprises, avolume signal for a surround sound system such as receiver 150, or thatcontrol signal 175 comprises a command for DVD player 140.

Method 300 may then advance to stage 335, where computing device 500 maydetermine if the selected content is being consumed. For example, STB120 may receive control signal 175 and determine that control signal 175is not intended for STB 120. Even if STB 120 does not decipher anintended component and/or requested command from control signal 175, STB120 may determine that a user is present in the room and consuming theselected content. If STB 120 does decipher control signal 175,additional logic may be applied to the determination. For example, avolume up request may be determined to be consistent with userconsumption of the content, while a DVD player operation request (e.g.,play, fast-forward, rewind, scene skip, menu operation, etc.) may bedetermined to be inconsistent with user consumption of the content. Thatis, a request to change the volume may indicate that the user isconsuming the content at the time the control signal is sent and isusing receiver 150 to listen to the sound associated with the content.If a DVD player signal is received, that may imply that the user hasswitched input and while they may be in the room, they're no longerconsuming the content.

Method 300 may then advance to stage 340 where the determination ofwhether the user is consuming the content may be recorded. For example,STB 120 may create an event log entry in a memory storage associatedwith STB 120. Additional information may be associated with the record,such as the identified component, the identified command, a timestamp ofwhen control signal 175 was received, and a time within the selectedcontent (e.g., during display of a given portion of the content and/orat a given time relative to the content duration) when control signal175 was received. Presence information, as described above, may berecorded and associated with the consumption determination.

Consistent with embodiments of the invention, computing device 500 mayrecord consumption determinations associated with portions of theselected content. For example, a selected cable television channel maycomprise insertion markers that may identify when an inserted commercialand/or program break begins and/or ends. STB 120 may identify thesemarkers and begin logging consumption determination only during theinserted material in order to evaluate whether the user is actuallyconsuming the inserted material.

Further consistent with embodiments of the invention, commands receivedwithin a time threshold before and/or after the content portion inquestion may be extrapolated to provide consumption determinations withrespect to the content portion. For example, a volume increase request30 seconds before the content portion may be extrapolated to adetermination that the content is being consumed before, during, and/orafter the content portion, while a mute request just before and/orshortly after the content portion begins and an un-mute request afterthe content portion ends may be extrapolated to a determination that thecontent is not being consumed. Similarly, if control signal 175 isreceived and deciphered to be a playback control associated with DVDplayer 150 several minutes before the content portion begins, adetermination may be made that a content selection being provided by STB120 is not being consumed at least until another control signal isreceived.

From stage 340, method 300 may advance to stage 345 where computingdevice 500 may maintain a list of identified components. For example,STB 120 may maintain a list in a memory storage associated with STB 120.STB 120 may determine whether the component identified in stage 325 hasbeen previously identified and exists on the list. If not, STB 120 mayadd an entry associated with the identified component to the list. Ifthe identified component does exist on the list, STB 120 may update a“last seen” entry associated with the component. As STB 120 learns whatcomponents are in the user's environment and what devices are being usedto consume content, it may develop additional usage information. Forexample, STB 120 may record activity information associated with theother components, such as titles selected and time spent watching movieson DVD player 140, shows and other content recorded on DVR 130, and/orgames played on game console 160.

From stage 345, computing device 500 may determine whether the selectedcontent has completed displaying. For example, STB 120 may determinewhether a program being displayed on a selected cable channel hasreached its end. If not, method 300 may return to stage 320.

Otherwise, method 300 may advance to stage 355 where computing device500 may prepare a report. For example, STB 120 may prepare a report thatthe user consumed the entirety of the selected content or that the userturned off display 110 halfway through and so did not consume the latterhalf of the content. The report may comprise information about theselected content such as a title, performers, whether the content waslive, pre-recorded, on-demand programming, or pay-per-view content. Thereport may also comprise user behavior information, such as whether theuser adjusted the volume, interacted with other devices, and/or sent nocontrol signals for the duration of the content. According to anotherembodiment, a report may be generated periodically based on apredetermined condition, such as a time.

Method 300 may then advance to stage 360 where computing device 500 maytransmit the report to a content provider. For example, STB 120 may sendthe report to a headend associated with a cable provider. The providermay receive user behavior reports associated with content provided byother providers. For example, a cable provider associated with STB 120may receive a report associated with a user's consumption of a videodisplayed by DVD player 140. The report may be associated with othercontent portions associated with the selected content, such asadvertising consumption data and/or may track user behavior regardingthe selected content itself, such as whether a user used surround soundto listen to audio associated with the selected content. Method 300 maythen end at stage 370.

FIG. 4 is a block diagram of a cable television (CATV) system 400 thatmay serve as an environment for embodiments of the present invention.Generally described, the CATV 400 provides digital and/or analog videoprogramming, information content and interactive television services.These services may be transmitted via a hybrid fiber coax (HFC) network415 to display 110 for consumption by a cable television/services systemcustomer. For example, display 110 may be located at a customerpremises. HFC network 415 may combine both optical fiber and coaxialcable lines. Typically, optical fiber runs from a cable head end 410 toneighborhoods of 500 to 2,000 customers. Coaxial cable runs from theoptical fiber feeders to each customer. According to embodiments of thepresent invention, the functionality of HFC network 415 allows forefficient bidirectional data flow between a client-side set-top box 120and a server-side application server 440 of the present invention.

CATV system 400 may comprise a distributed client-server computingsystem for providing video and data flow across HFC network 415 betweenserver-side services providers (e.g., cable television/servicesproviders) via head end 410 and a client-side customer via client-sideset-top box (STB) 120 functionally connected to a customer receivingdevice, such as television set 420. CATV systems 400 may provide avariety of services across HFC network 415 including traditional digitaland analog video programming, telephone services, high speed Internetaccess, video-on-demand, and information services.

On the client side of CATV system 400, digital and analog videoprogramming and digital and analog data may be provided to display 110via set-top box (STB) 120. Interactive television services that allow acustomer to input data to CATV system 400 may likewise be provided bySTB 120. As illustrated in FIG. 4, STB 120 may comprise a multipurposecomputing device having a computer processor, memory and an input/outputmechanism. The input/output mechanism may receive input from server-sideprocesses via HFC network 415 and from customers via input devices suchas remote control 170 and a keyboard 430. Remote control 170 andkeyboard 430 may communicate with the STB 120 via a suitablecommunication transport such as an infrared connection comprisingcontrol signal 175. STB 120 may also include a video processor forprocessing and providing digital and analog video signaling to display110 via a cable communication transport 434. A multi-channel tuner maybe provided for processing video and data to and from STB 120 and headend 410.

STB 120 may also include an operating system 422 for directing thefunctions of STB 120 in conjunction with a variety of clientapplications. For example, if a client application 425 requires a newsflash from a third-party news source to be displayed on display 110,operating system 422 may cause the graphics functionality and videoprocessor of STB 120, for example, to output the news flash to display110 at the direction of client application 425 responsible fordisplaying news items.

Because a variety of different operating systems 422 may be utilized bya variety of different brands and types of set-top boxes, a middlewarelayer 424 may be provided to allow a given software application to beexecuted by a variety of different operating systems. According to anembodiment of the present invention, middleware layer 424 may include aset of application programming interfaces (API) that are exposed toclient application 425 and operating system 422 that allow clientapplication 425 to communicate with operating system 422 through commondata calls understood via the API set. As described below, acorresponding middleware layer may be included on the server side ofCATV system 400 for facilitating communication between server-sideapplication server 440 and client-side STB 120. A middleware layer 442of server-side application server 440 and middleware layer 424 ofclient-side STB 120 may format data passed between the client side andserver side according to the Extensible Markup Language (XML). As shouldbe appreciated, XML is only one example of data formatting, data passedbetween the client side and the server side may be formatted accordingto any other suitable formatting language or standard.

According to one embodiment, the set-top box 120 passes digital andanalog video and data signaling to the television 110 via a one-waycommunication transport 134. STB 120 may pass digital and analog videoand data signaling to the display 110 via communication transport 434.According to an embodiment, bidirectional communication may beaccomplished between the STB 120 and the television 110. For example,high-definition multimedia interface (HDMI) ports on the STB 120 andtelevision 110 allow for bidirectional data communications between thedevices. STB 120 may receive video and data from the server side of CATVsystem 400 via HFC network 415 through a video/data downlink and datavia a data downlink. STB 120 may transmit data from the client side ofCATV system 400 to the server side of CATV system 400 via HFC network415 via one data uplink. The video/data downlink may comprise an “inband” downlink that allows for digital and analog video and datasignaling from the server side of CATV system 400 through HFC network415 to set-top box 120 for use by STB 120 and for distribution totelevision set 420. The “in band” signaling space may operate at avariety of frequencies. According to one embodiment, the “in band”signaling space may operate at a frequency between 54 and 1000megahertz. The signaling space is generally divided into 6 megahertzchannels in which may be transmitted a single analog signal or a greaternumber (e.g., up to ten) digital signals.

The data downlink and the data uplink, illustrated in FIG. 4, betweenHFC network 415 and set-top box 120 may comprise “out of band” datalinks. The “out of band” frequency range generally lies between zero and54 megahertz. Data flow between client-side set-top box 120 andserver-side application server 440 is typically passed through the “outof band” data links. Alternatively, an “in band” data carousel may bepositioned in an “in band” channel into which a data feed may beprocessed from server-side application server 440 through HFC network415 to client-side STB 120. Operation of data transport betweencomponents of CATV system 400, described with reference to FIG. 4, iswell known to those skilled in the art.

Data passed between CATV system 400 backend components such as head end410 and CATV system 400 front end components such as STB 120 may bepassed according to the Data Over Cable Service Interface Specification(DOCSIS). DOCSIS provides for a mechanism for data transport over acable system such as CATV 400, illustrated in FIG. 4. Among otherthings, DOCSIS allows for the passing of digital communications andInternet connectivity over HFC network 415.

Referring still to FIG. 4, head end 410 of the CATV system 400 may bepositioned on the server side of CATV system 400 and may includehardware and software systems responsible for originating and managingcontent for distributing through HFC network 415 to client-side STB 120for presentation to customers via display 110. As described above, anumber of services may be provided by CATV system 400, including digitaland analog video programming, interactive television services, telephoneservices, video-on-demand services, targeted advertising, and provisionof information content.

Application server 440 may comprise a general-purpose computing systemoperative to assemble and manage data sent to and received fromclient-side set-top box 120 via HFC network 415. As described above withreference to set-top box 120, application server 440 may comprisemiddleware layer 442 for processing and preparing data from head end 410of CATV system 400 for receipt and use by client-side set-top box 120.For example, application server 440 via the middleware layer 442 mayobtain data from one and/or more of a plurality of third-party services446 via network 150 for transmitting to a customer through HFC network415 and set-top box 120. For example, a weather report from athird-party weather service may be downloaded by application server 440via network 150. When application server 440 receives the downloadedweather report, middleware layer 442 may be utilized to format theweather report for receipt and use by set-top box 120. Data obtained andmanaged by middleware layer 442 of application server 440 may beformatted according to the Extensible Markup Language and may be passedto set-top box 120 through HFC network 415 where the XML-formatted datamay be utilized by client application 425 in concert with middlewarelayer 424, as described above. A variety of third-party services 446data, including news data, weather data, sports data and otherinformation content may be obtained by application server 440 viadistributed computing environments such as network 150 for provision tocustomers via HFC network 415 and set-top box 120.

According to embodiments of the present invention, the applicationserver 440 may obtains customer profile data from services provider dataservices 460 (which may comprise an implementation of profile server135) for preparing a customer profile that may be utilized by theset-top box 120 for tailoring certain content provided to the customer.According to embodiments of the present invention, a customer profilemay include communications applications provisioned on networked STBs,as well as, designations of individual STBs in a home, business orfacility (e.g., “kitchen STB,” “bedroom STB,” “office STB,” and thelike).

A plurality of provider data services 460 may include a number ofservices operated by the services provider of CATV system 400 that mayinclude data on a given customer. For example, a billing system 462 mayinclude information such as a customer's name, street address, businessidentification number, Social Security number, credit history, andinformation regarding services and products subscribed to by thecustomer. An electronic mail system 464 may contain information such aselectronic mail addresses, high-speed Internet access subscriptioninformation and electronic mail usage data. An authentication system 466may include information such as secure user names and passwords utilizedby customers for access to network services. A customer informationdatabase 468 may include general information about customers such asplace of employment, business address, business telephone number anddemographic information such as age, gender, educational level, and thelike. A signal analytics engine 469 may be operative to receive detectedcontrol signals, such as control signal 175, and may decipher and/oranalyze associated codes. As should be understood by those skilled inthe art, the disparate data services systems 462, 464, 466, 468, and 469are illustrated as a collection of data services for purposes of exampleonly. The example data services systems comprising data services 460 mayoperate as separate data services systems, which communicate with a webservices system (described below) along a number of differentcommunication paths and according to a number of different communicationprotocols.

Referring still to FIG. 4, a web services system 450 is illustratedbetween application server 440 and data services 460. Web servicessystem 450 may serve as a collection point for data requested from eachof the disparate data services systems comprising data services 460.When application server 440 requires customer profile data from one ormore of data services 460 for preparation or update of a customerprofile, application server 440 passes a data query to web servicessystem 450. Web services system 450 formulates a data query to each ofthe available data services systems for obtaining any available data fora given customer as identified by a set-top box identificationassociated with the customer. Web services system 450 may serve as anabstraction layer between the various data services systems andapplication server 440. That is, application server 440 is not requiredto communicate with the disparate data services systems, nor isapplication server 440 required to understand the data structures ordata types utilized by the disparate data services systems. Web servicessystem 450 may be operative to communicate with each of the disparatedata services systems for obtaining necessary customer profile data. Thecustomer profile data obtained by the web services system is assembledand is returned to application server 440 for ultimate processing viamiddleware layer 442, as described above.

An embodiment consistent with the invention may comprise a system fordetecting user behavior. The system may comprise a memory storage and aprocessing unit coupled to the memory storage. The processing unit maybe operative to select a video content element to display, determinewhether a control signal has been transmitted, determine whether,according to the control signal, the video content element is beingconsumed by a user, and record the determination of whether the videocontent element is being consumed by the user. The control signal may beintended for one component (e.g. a stereo receiver) and received both bythe intended component and by another component (e.g. a set-top box)comprising the system. Consistent with embodiments of the invention,determining whether the video content element is being consumed by auser may comprise determining whether the at least one control signal isassociated with modifying the display of the video content element. Forexample, the control signal may comprise a volume change request for asurround sound system associated with outputting audio associated withthe video content element.

Another embodiment consistent with the invention may comprise a systemfor identifying user behavior. The system may comprise control signalreceiver, a memory storage, and a processing unit coupled to the controlsignal receiver and the memory storage. The processing unit may beoperative to receive a selection of a video content element, output theselected video content element to a display device, receive a controlsignal via the control signal receiver, and create an event log item inthe memory storage associated with the receipt of the control signalcomprising and the video content element. The processing unit may befurther operative to identify an insertion tag associated with the videocontent element, determine whether the control signal is received duringan advertisement section of the video content, and skip creating theevent log item if the control signal is not received during theadvertisement section.

Yet another embodiment consistent with the invention may comprise asystem for identifying a user presence during a content display. Thesystem may comprise a memory storage and a processing unit coupled tothe memory storage. The processing unit may be operative to display avideo on a display device, receive, during display of the video, acontrol signal from a remote control, decipher a code associated withthe at least one control signal, determine, according to the at leastone control signal, whether the video is being consumed by a user, andlog the determination of whether the video is being consumed by theuser.

FIG. 5 illustrates a computing device 500 as configured to executecomponent tracker software module 530. Computing device 500 may includea processing unit 510, an input/output port 515, and a memory unit 520.Input/output port 515 may comprise, for example a signal receiver suchas an IR port for receiving control signal 175 from remote control 170.Memory 520 may include a component tracker software module 530 and adatabase 540. While executing on processing unit 510, component trackersoftware module 530 may perform processes for deciphering controlsignals, identifying components, and/or maintaining a component listincluding, for example, one or more stages included in method 300described above with respect to FIG. 3. Furthermore, component trackersoftware module 530 may be executed on or reside in any element shownand/or described with respect to FIG. 1. Moreover, any one or more ofthe stages included in method 300 may be performed on any element shownin FIG. 1.

Computing device 500 may be implemented using a personal computer, anetwork computer, a mainframe, or other similar microcomputer-basedworkstation. The processor may comprise any computer operatingenvironment, such as hand-held devices, multiprocessor systems,microprocessor-based or programmable sender electronic devices,minicomputers, mainframe computers, and the like. The processor may alsobe practiced in distributed computing environments where tasks areperformed by remote processing devices. Furthermore, the processor maycomprise a mobile terminal, such as a smart phone, a cellular telephone,a cellular telephone utilizing wireless application protocol (WAP),personal digital assistant (PDA), intelligent pager, portable computer,a hand held computer, a conventional telephone, a wireless fidelity(Wi-Fi) access point, or a facsimile machine. The aforementioned systemsand devices are examples and the processor may comprise other systems ordevices.

As described herein, methods and systems are provided for allowing auser of a wireless communication device or other suitable communicationdevice to receive and review transcribed voicemail messages in textformat and for allowing the user to access associated audio versions oftranscribed voicemail messages without the need for accessing avoicemail system to cycle through various prompts and stored voicemailmessages. It will be apparent to those skilled in the art that variousmodifications or variations may be made in the present invention withoutdeparting from the scope or spirit of the invention. Other embodimentsof the invention will be apparent to those skilled in the art fromconsideration of the specification and practice of the inventiondisclosed herein.

1. A method of detecting user behavior, the method comprising: selectingat least one video content element to display; determining, while the atleast one video content element is being displayed, whether at least onecontrol signal has been transmitted; in response to determining that theat least one control signal has been transmitted, determining whether,according to the at least one control signal, the video content elementis being consumed by a user; and recording the determination of whetherthe at least one video content element is being consumed by the user. 2.The method of claim 1, wherein the at least one control signal comprisesat least one of the following: an infrared transmission, a radiofrequency transmission, a Bluetooth transmission, and a wireless networktransmission.
 3. The method of claim 1, wherein the at least one controlsignal comprises a control code associated with a first component andwherein the at least one control signal is received and decoded by atleast one second component.
 4. The method of claim 3, wherein the atleast one second component records the control signal transmissionevent.
 5. The method of claim 3, further comprising: identifying, by theat least one second component, at least one of the following: a modeland a brand associated with the first component.
 6. The method of claim5, further comprising: maintaining a list of components associated witha plurality of received control signals.
 7. The method of claim 3,further comprising: identifying, by the at least one second component, acommand associated with the at least one control signal; and determiningwhether the at least one video content element is being consumed by auser according to the command associated with the at least one controlsignal.
 8. The method of claim 1, wherein determining whether, accordingto the at least one control signal, the video content element is beingconsumed by a user comprises determining whether the at least onecontrol signal is associated with modifying the display of the videocontent element.
 9. A system for identifying user behavior, the systemcomprising: a control signal receiver; a memory storage; and aprocessing unit coupled to the control signal receiver and the memorystorage, wherein the processing unit is operative to: receive aselection of a video content element; output the selected video contentelement to a display device; receive a control signal via the controlsignal receiver; and create an event log item in the memory storageassociated with the receipt of the control signal comprising and thevideo content element.
 10. The system of claim 9, wherein the controlsignal is received from a remote control associated with the system. 11.The system of claim 9, wherein the control signal is received from aremote control associated with a media component coupled to the system.12. The system of claim 9, wherein the processing unit is furtheroperative to decipher a requested action associated with the controlsignal.
 13. The system of claim 12, wherein the event log item furthercomprises the requested action deciphered from the control signal. 14.The system of claim 9, wherein the processing unit is further operativeto: identify an insertion tag associated with the video content element,wherein the insertion tag is operative to signal an advertisementsection of the video content element; determine whether the controlsignal is received during the advertisement section of the videocontent; and in response to determining that the control signal is notreceived during the advertisement section of the video content element,skip creating the event log item.
 15. The system of claim 9, wherein theprocessing unit is further operative to: produce a report of useractivity associated with the video content element derived from theevent log item; and transmit the report to a provider of the videocontent element.
 16. A method for identifying a user presence during acontent display, the method comprising: displaying a video on a displaydevice; receiving, during display of the video, at least one controlsignal from a remote control; deciphering a code associated with the atleast one control signal; determining, according to the at least onecontrol signal, whether the video is being consumed by a user; andlogging the determination of whether the video is being consumed by theuser.
 17. The method of claim 16, wherein deciphering the protocolassociated with the at least one control signal comprises identifying amodel of a component associated with the at least one control signal andidentifying a command associated with the at least one control signal.18. The method of claim 17, wherein determining whether the video isbeing consumed by a user comprises determining whether the decipheredcommand is associated with displaying the video on the display device.19. The method of claim 16, further comprising: determining whether thevideo is not being consumed for greater than a threshold time; and inresponse to determining that the video is not being consumed for greaterthan the threshold time, stopping display of the video on the displaydevice.
 20. The method of claim 17, further comprising maintaining alist of identified component models.